import 'package:flutter/material.dart';
import '../controller/base_list_more_controller.dart';
import 'base_list_get_builder.dart';

class BaseListMoreGetBuilder<T extends BaseListMoreController>
    extends BaseListGetBuilder<T> {
  const BaseListMoreGetBuilder({
    super.key,
    super.autoRemove = true,
    super.id,
    super.tag,
    super.builder,
    super.initMethod,
    super.global = true,
    super.assignId = false,
    super.filter,
    super.initState,
    super.dispose,
    super.didChangeDependencies,
    super.didUpdateWidget,
    super.init,
    super.backgroundView,
    super.appBar,
    super.backgroundColor,
    super.canPop,
    super.errorBuilder,
    super.emptyBuilder,
    super.clickEmptyOrError,
    super.noNetworkBuilder,
    super.loadingBuilder,
    super.isShowLoading = true,
    super.extendBodyBehindAppBar,
    super.resizeToAvoidBottomInset,
    super.tapEmptyShowLoading = false,
    super.enablePullDown = true,
    super.enablePullUp = true,
    super.onLoading,
    super.onRefresh,
    super.refreshHeader,
    super.refreshFooter,
    super.headerBuilder,
    super.footerBuilder,
    super.initialRefresh = true,
    super.useScaffold,
    super.bodyTopViewBuilder,
    super.bodyBottomViewBuilder,
    // super.isCoverBodyTop,
    super.isCoverBodyTopPadding,
    super.drawer,
    super.endDrawer,
  });

  @override
  VoidCallback? get onLoading => super.onLoading ?? controller?.loadMoreList;

  @override
  bool get enablePullUp => super.enablePullUp && controller!.canLoadMore;
}
